// 引入数据库实例
const db = require("../utils/mysql.js");
// 引入验证参数是否为空的模块
const v = require("../utils/verify")
const v2 = require("../utils/verify2")
// 引入查询工具函数
const doSql = require("../utils/doSql")
// 引入得到头像模块
const getImg = require("../utils/getHeadImg")
const query = doSql.query;
const updata = doSql.updata;
// 引入时间格式化函数
const formatData = require("../utils/formatDate")

// 留言
exports.commit = async (req, res) => {
	if (v2(req, ["name", "contents", "contact"], res) !== 0) {
		return;
	}
	try {
		let name = req.body.name || "热心肠网友";
		let contents = req.body.contents;
		let imgUrl = getImg();
		let contact = req.body.contact || '';
		const sql = `insert into message(name,contents,createTime,img,contact) values (?,?,?,?,?);`;
		// 注意：req 对象上的 user 属性，是 Token 解析成功，express-jwt 中间件帮我们挂载上去的
		await updata(sql, [
			name,
			contents,
			new Date(),
			imgUrl,
			contact,
		])
		res.sd({ message: "成功" }, 0);
	} catch (err) {
		res.sd(err);
	}
}

// 查询所有留言
exports.queryAllMsg = async (req, res) => {
	try {
		const sql = `
		select * from message 
		where exist = 1 
		order by createTime desc;`;
		// 注意：req 对象上的 user 属性，是 Token 解析成功，express-jwt 中间件帮我们挂载上去的
		let result = await query(sql)

		res.sd(result);
	} catch (err) {
		res.sd(err);
	}
}

// 查询所有留言数
exports.queryAllMsgCount = async (req, res) => {
	try {
		const sql = `
		select count(*)as count from message 
		where exist = 1 
		order by createTime desc;`;
		// 注意：req 对象上的 user 属性，是 Token 解析成功，express-jwt 中间件帮我们挂载上去的
		let result = await query(sql)
		res.sd(result[0].count);
	} catch (err) {
		res.sd(err);
	}
}

// 删除留言
exports.delMsg = async (req, res) => {
	if (v2(req, ["msg_id"], res) !== 0) {
		return;
	}
	let msg_id = req.body.msg_id;
	try {
		const sql = `
		update message set exist = 0
		where msg_id = ?
		`;
		// 注意：req 对象上的 user 属性，是 Token 解析成功，express-jwt 中间件帮我们挂载上去的
		await updata(sql, [msg_id])
		res.sd("ok");
	} catch (err) {
		res.sdErr(err);
	}
}